e49950d954b32ab4502271aad913458a8819c204,src/edu/stanford/nlp/sequences/SeqClassifierFlags.java,SeqClassifierFlags,setProperties,#Properties#boolean#,1061
Before Change
useFeaturesCpC4gram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useFeaturesCpC5gram")) {
useFeaturesCpC5gram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useFeaturesCpC6gram")) {
useFeaturesCpC6gram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useUnicodeType")) {
useUnicodeType = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useUnicodeBlock")) {
useUnicodeBlock = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useUnicodeType4gram")) {
useUnicodeType4gram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useUnicodeType5gram")) {
useUnicodeType5gram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useShapeStrings1")) {
useShapeStrings1 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useShapeStrings3")) {
useShapeStrings3 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useShapeStrings4")) {
useShapeStrings4 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useShapeStrings5")) {
useShapeStrings5 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useWordUTypeConjunctions2")) {
useWordUTypeConjunctions2 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useWordUTypeConjunctions3")) {
useWordUTypeConjunctions3 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useWordShapeConjunctions2")) {
useWordShapeConjunctions2 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useWordShapeConjunctions3")) {
useWordShapeConjunctions3 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useMidDotShape")) {
useMidDotShape = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("augmentedDateChars")) {
augmentedDateChars = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("suppressMidDotPostprocessing")) {
suppressMidDotPostprocessing = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("printNR")) {
printNR = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("use4Clique")) {
use4Clique = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useFilter")) {
useFilter = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("largeChSegFile")) {
largeChSegFile = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("keepEnglishWhitespaces")) {
keepEnglishWhitespaces = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("keepAllWhitespaces")) {
keepAllWhitespaces = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("sighanPostProcessing")) {
sighanPostProcessing = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useChPos")) {
useChPos = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("sighanCorporaDict")) {
sighanCorporaDict = val;
// end chinese word-segmenter features
} else if (key.equalsIgnoreCase("useObservedSequencesOnly")) {
useObservedSequencesOnly = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("maxDocSize")) {
maxDocSize = Integer.parseInt(val);
splitDocuments = true;
} else if (key.equalsIgnoreCase("printProbs")) {
printProbs = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("printFirstOrderProbs")) {
printFirstOrderProbs = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("saveFeatureIndexToDisk")) {
saveFeatureIndexToDisk = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("removeBackgroundSingletonFeatures")) {
removeBackgroundSingletonFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("doGibbs")) {
doGibbs = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useNERPrior")) {
useNERPrior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useAcqPrior")) {
useAcqPrior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useSemPrior")) {
useSemPrior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useMUCFeatures")) {
useMUCFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("initViterbi")) {
initViterbi = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("checkNameList")) {
checkNameList = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useFirstWord")) {
useFirstWord = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useUnknown")) {
useUnknown = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("cacheNGrams")) {
cacheNGrams = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useNumberFeature")) {
useNumberFeature = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("annealingRate")) {
annealingRate = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("annealingType")) {
if (val.equalsIgnoreCase("linear") || val.equalsIgnoreCase("exp") || val.equalsIgnoreCase("exponential")) {
annealingType = val;
} else {
System.err.println("unknown annealingType: " + val + ". Please use linear|exp|exponential");
}
} else if (key.equalsIgnoreCase("numSamples")) {
numSamples = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("inferenceType")) {
inferenceType = val;
} else if (key.equalsIgnoreCase("loadProcessedData")) {
loadProcessedData = val;
} else if (key.equalsIgnoreCase("normalizationTable")) {
normalizationTable = val;
} else if (key.equalsIgnoreCase("dictionary")) {
// don't set if empty string or spaces or true: revert it to null
// special case so can empty out dictionary list on command line!
val = val.trim();
if (val.length() > 0 && !"true".equals(val) && !"null".equals(val) && !"false".equals("val")) {
dictionary = val;
} else {
dictionary = null;
}
} else if (key.equalsIgnoreCase("serDictionary")) {
// don't set if empty string or spaces or true: revert it to null
// special case so can empty out dictionary list on command line!
val = val.trim();
if (val.length() > 0 && !"true".equals(val) && !"null".equals(val) && !"false".equals("val")) {
serializedDictionary = val;
} else {
serializedDictionary = null;
}
} else if (key.equalsIgnoreCase("dictionary2")) {
// don't set if empty string or spaces or true: revert it to null
// special case so can empty out dictionary list on command line!
val = val.trim();
if (val.length() > 0 && !"true".equals(val) && !"null".equals(val) && !"false".equals("val")) {
dictionary2 = val;
} else {
dictionary2 = null;
}
} else if (key.equalsIgnoreCase("normTableEncoding")) {
normTableEncoding = val;
} else if (key.equalsIgnoreCase("useLemmaAsWord")) {
useLemmaAsWord = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("type")) {
type = val;
} else if (key.equalsIgnoreCase("readerAndWriter")) {
readerAndWriter = val;
} else if (key.equalsIgnoreCase("plainTextDocumentReaderAndWriter")) {
plainTextDocumentReaderAndWriter = val;
} else if (key.equalsIgnoreCase("gazFilesFile")) {
gazFilesFile = val;
} else if (key.equalsIgnoreCase("baseTrainDir")) {
baseTrainDir = val;
} else if (key.equalsIgnoreCase("baseTestDir")) {
baseTestDir = val;
} else if (key.equalsIgnoreCase("trainFiles")) {
trainFiles = val;
} else if (key.equalsIgnoreCase("trainFileList")) {
trainFileList = val;
} else if (key.equalsIgnoreCase("trainDirs")) {
trainDirs = val;
} else if (key.equalsIgnoreCase("testDirs")) {
testDirs = val;
} else if (key.equalsIgnoreCase("testFiles")) {
testFiles = val;
} else if (key.equalsIgnoreCase("textFiles")) {
textFiles = val;
} else if (key.equalsIgnoreCase("usePrediction2")) {
usePrediction2 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useObservedFeaturesOnly")) {
useObservedFeaturesOnly = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("iobWrapper")) {
iobWrapper = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useDistSim")) {
useDistSim = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("casedDistSim")) {
casedDistSim = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("distSimFileFormat")) {
distSimFileFormat = val;
} else if (key.equalsIgnoreCase("distSimMaxBits")) {
distSimMaxBits = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("numberEquivalenceDistSim")) {
numberEquivalenceDistSim = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("unknownWordDistSimClass")) {
unknownWordDistSimClass = val;
} else if (key.equalsIgnoreCase("useOnlySeenWeights")) {
useOnlySeenWeights = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("predProp")) {
predProp = val;
} else if (key.equalsIgnoreCase("distSimLexicon")) {
distSimLexicon = val;
} else if (key.equalsIgnoreCase("useSegmentation")) {
useSegmentation = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useInternal")) {
useInternal = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useExternal")) {
useExternal = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useEitherSideWord")) {
useEitherSideWord = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useEitherSideDisjunctive")) {
useEitherSideDisjunctive = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("featureDiffThresh")) {
featureDiffThresh = Double.parseDouble(val);
if (props.getProperty("numTimesPruneFeatures") == null) {
numTimesPruneFeatures = 1;
}
} else if (key.equalsIgnoreCase("numTimesPruneFeatures")) {
numTimesPruneFeatures = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("newgeneThreshold")) {
newgeneThreshold = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("adaptFile")) {
adaptFile = val;
} else if (key.equalsIgnoreCase("doAdaptation")) {
doAdaptation = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("selfTrainFile")) {
selfTrainFile = val;
} else if (key.equalsIgnoreCase("selfTrainIterations")) {
selfTrainIterations = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("selfTrainWindowSize")) {
selfTrainWindowSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("selfTrainConfidenceThreshold")) {
selfTrainConfidenceThreshold = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("numFolds")) {
numFolds = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("startFold")) {
startFold = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("endFold")) {
endFold = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("adaptSigma")) {
adaptSigma = Double.parseDouble(val);
} else if (key.startsWith("prop") && !key.equals("prop")) {
comboProps.add(val);
} else if (key.equalsIgnoreCase("outputFormat")) {
outputFormat = val;
} else if (key.equalsIgnoreCase("useSMD")) {
useSMD = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useScaledSGD")) {
useScaledSGD = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("scaledSGDMethod")) {
scaledSGDMethod = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("tuneSGD")) {
tuneSGD = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("StochasticCalculateMethod")) {
if (val.equalsIgnoreCase("AlgorithmicDifferentiation")) {
stochasticMethod = StochasticCalculateMethods.AlgorithmicDifferentiation;
} else if (val.equalsIgnoreCase("IncorporatedFiniteDifference")) {
stochasticMethod = StochasticCalculateMethods.IncorporatedFiniteDifference;
} else if (val.equalsIgnoreCase("ExternalFinitedifference")) {
stochasticMethod = StochasticCalculateMethods.ExternalFiniteDifference;
}
} else if (key.equalsIgnoreCase("initialGain")) {
initialGain = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("stochasticBatchSize")) {
stochasticBatchSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("SGD2QNhessSamples")) {
SGD2QNhessSamples = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useSGD")) {
useSGD = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useInPlaceSGD")) {
useInPlaceSGD = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useSGDtoQN")) {
useSGDtoQN = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("SGDPasses")) {
SGDPasses = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("QNPasses")) {
QNPasses = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("gainSGD")) {
gainSGD = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("useHybrid")) {
useHybrid = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("hybridCutoffIteration")) {
hybridCutoffIteration = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useStochasticQN")) {
useStochasticQN = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("outputIterationsToFile")) {
outputIterationsToFile = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("testObjFunction")) {
testObjFunction = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("testVariance")) {
testVariance = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("CRForder")) {
CRForder = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("CRFwindow")) {
CRFwindow = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("testHessSamples")) {
testHessSamples = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("estimateInitial")) {
estimateInitial = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("printLabelValue")) {
printLabelValue = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("searchGraphPrefix")) {
searchGraphPrefix = val;
} else if (key.equalsIgnoreCase("searchGraphPrune")) {
searchGraphPrune = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("kBest")) {
useKBest = true;
kBest = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useRobustQN")) {
useRobustQN = true;
} else if (key.equalsIgnoreCase("combo")) {
combo = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("verboseForTrueCasing")) {
verboseForTrueCasing = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("trainHierarchical")) {
trainHierarchical = val;
} else if (key.equalsIgnoreCase("domain")) {
domain = val;
} else if (key.equalsIgnoreCase("baseline")) {
baseline = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("doFE")) {
doFE = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("restrictLabels")) {
restrictLabels = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("transferSigmas")) {
transferSigmas = val;
} else if (key.equalsIgnoreCase("announceObjectBankEntries")) {
announceObjectBankEntries = true;
} else if (key.equalsIgnoreCase("mixedCaseMapFile")) {
mixedCaseMapFile = val;
} else if (key.equalsIgnoreCase("auxTrueCaseModels")) {
auxTrueCaseModels = val;
} else if (key.equalsIgnoreCase("use2W")) {
use2W = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useLC")) {
useLC = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useYetMoreCpCShapes")) {
useYetMoreCpCShapes = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useIfInteger")) {
useIfInteger = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("twoStage")) {
twoStage = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("evaluateIters")) {
evaluateIters = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("evalCmd")) {
evalCmd = val;
} else if (key.equalsIgnoreCase("evaluateTrain")) {
evaluateTrain = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("evaluateBackground")) {
evaluateBackground = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("tuneSampleSize")) {
tuneSampleSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useTopics")) {
useTopics = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("usePhraseFeatures")) {
usePhraseFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("usePhraseWords")) {
usePhraseWords = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("usePhraseWordTags")) {
usePhraseWordTags = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("usePhraseWordSpecialTags")) {
usePhraseWordSpecialTags = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useProtoFeatures")) {
useProtoFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useWordnetFeatures")) {
useWordnetFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("wikiFeatureDbFile")) {
wikiFeatureDbFile = val;
} else if (key.equalsIgnoreCase("tokenizerOptions")) {
tokenizerOptions = val;
} else if (key.equalsIgnoreCase("tokenizerFactory")) {
tokenizerFactory = val;
} else if (key.equalsIgnoreCase("useCommonWordsFeature")) {
useCommonWordsFeature = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useYear")) {
useYear = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useSentenceNumber")) {
useSentenceNumber = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useLabelSource")) {
useLabelSource = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("tokenFactory")) {
tokenFactory = val;
} else if (key.equalsIgnoreCase("tokensAnnotationClassName")) {
tokensAnnotationClassName = val;
} else if (key.equalsIgnoreCase("numLopExpert")) {
numLopExpert = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("initialLopScales")) {
initialLopScales = val;
} else if (key.equalsIgnoreCase("initialLopWeights")) {
initialLopWeights = val;
} else if (key.equalsIgnoreCase("includeFullCRFInLOP")) {
includeFullCRFInLOP = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("backpropLopTraining")) {
backpropLopTraining = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("randomLopWeights")) {
randomLopWeights = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("randomLopFeatureSplit")) {
randomLopFeatureSplit = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("nonLinearCRF")) {
nonLinearCRF = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("secondOrderNonLinear")) {
secondOrderNonLinear = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("numHiddenUnits")) {
numHiddenUnits = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useOutputLayer")) {
useOutputLayer = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useHiddenLayer")) {
useHiddenLayer = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("gradientDebug")) {
gradientDebug = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("checkGradient")) {
checkGradient = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useSigmoid")) {
useSigmoid = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("skipOutputRegularization")) {
skipOutputRegularization = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("sparseOutputLayer")) {
sparseOutputLayer = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("tieOutputLayer")) {
tieOutputLayer = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("blockInitialize")) {
blockInitialize = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("softmaxOutputLayer")) {
softmaxOutputLayer = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("loadBisequenceClassifierEn")) {
loadBisequenceClassifierEn = val;
} else if (key.equalsIgnoreCase("bisequenceClassifierPropEn")) {
bisequenceClassifierPropEn = val;
} else if (key.equalsIgnoreCase("loadBisequenceClassifierCh")) {
loadBisequenceClassifierCh = val;
} else if (key.equalsIgnoreCase("bisequenceClassifierPropCh")) {
bisequenceClassifierPropCh = val;
} else if (key.equalsIgnoreCase("bisequenceTestFileEn")) {
bisequenceTestFileEn = val;
} else if (key.equalsIgnoreCase("bisequenceTestFileCh")) {
bisequenceTestFileCh = val;
} else if (key.equalsIgnoreCase("bisequenceTestOutputEn")) {
bisequenceTestOutputEn = val;
} else if (key.equalsIgnoreCase("bisequenceTestOutputCh")) {
bisequenceTestOutputCh = val;
} else if (key.equalsIgnoreCase("bisequenceTestAlignmentFile")) {
bisequenceTestAlignmentFile = val;
} else if (key.equalsIgnoreCase("bisequenceAlignmentTestOutput")) {
bisequenceAlignmentTestOutput = val;
} else if (key.equalsIgnoreCase("bisequencePriorType")) {
bisequencePriorType = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("bisequenceAlignmentPriorPenaltyCh")) {
bisequenceAlignmentPriorPenaltyCh = val;
} else if (key.equalsIgnoreCase("bisequenceAlignmentPriorPenaltyEn")) {
bisequenceAlignmentPriorPenaltyEn = val;
} else if (key.equalsIgnoreCase("alignmentPruneThreshold")) {
alignmentPruneThreshold = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("alignmentDecodeThreshold")) {
alignmentDecodeThreshold = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("factorInAlignmentProb")) {
factorInAlignmentProb = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useChromaticSampling")) {
useChromaticSampling = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useSequentialScanSampling")) {
useSequentialScanSampling = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("maxAllowedChromaticSize")) {
maxAllowedChromaticSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("keepEmptySentences")) {
keepEmptySentences = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useBilingualNERPrior")) {
useBilingualNERPrior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("samplingSpeedUpThreshold")) {
samplingSpeedUpThreshold = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("entityMatrixCh")) {
entityMatrixCh = val;
} else if (key.equalsIgnoreCase("entityMatrixEn")) {
entityMatrixEn = val;
} else if (key.equalsIgnoreCase("multiThreadGibbs")) {
multiThreadGibbs = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("matchNERIncentive")) {
matchNERIncentive = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useEmbedding")) {
useEmbedding = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("prependEmbedding")) {
prependEmbedding = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("embeddingWords")) {
embeddingWords = val;
} else if (key.equalsIgnoreCase("embeddingVectors")) {
embeddingVectors = val;
} else if (key.equalsIgnoreCase("transitionEdgeOnly")) {
transitionEdgeOnly = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("priorLambda")) {
priorLambda = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("addCapitalFeatures")) {
addCapitalFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("arbitraryInputLayerSize")) {
arbitraryInputLayerSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("noEdgeFeature")) {
noEdgeFeature = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("terminateOnEvalImprovement")) {
terminateOnEvalImprovement = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("terminateOnEvalImprovementNumOfEpoch")) {
terminateOnEvalImprovementNumOfEpoch = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useMemoryEvaluator")) {
useMemoryEvaluator = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("suppressTestDebug")) {
suppressTestDebug = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useOWLQN")) {
useOWLQN = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("printWeights")) {
printWeights = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("totalDataSlice")) {
totalDataSlice = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("numOfSlices")) {
numOfSlices = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("regularizeSoftmaxTieParam")) {
regularizeSoftmaxTieParam = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("softmaxTieLambda")) {
softmaxTieLambda = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("totalFeatureSlice")) {
totalFeatureSlice = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("numOfFeatureSlices")) {
numOfFeatureSlices = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("addBiasToEmbedding")) {
addBiasToEmbedding = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("hardcodeSoftmaxOutputWeights")) {
hardcodeSoftmaxOutputWeights = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useNERPriorBIO")) {
useNERPriorBIO = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("entityMatrix")) {
entityMatrix = val;
} else if (key.equalsIgnoreCase("multiThreadClassifier")) {
multiThreadClassifier = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useDualDecomp")) {
useDualDecomp = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("biAlignmentPriorIsPMI")) {
biAlignmentPriorIsPMI = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("dampDDStepSizeWithAlignmentProb")) {
dampDDStepSizeWithAlignmentProb = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("dualDecompAlignment")) {
dualDecompAlignment = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("dualDecompInitialStepSizeAlignment")) {
dualDecompInitialStepSizeAlignment = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("dualDecompNotBIO")) {
dualDecompNotBIO = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("berkeleyAlignerLoadPath")) {
berkeleyAlignerLoadPath = val;
} else if (key.equalsIgnoreCase("useBerkeleyAlignerForViterbi")) {
useBerkeleyAlignerForViterbi = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useBerkeleyCompetitivePosterior")) {
useBerkeleyCompetitivePosterior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useDenero")) {
useDenero = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("alignDDAlpha")) {
alignDDAlpha = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("factorInBiEdgePotential")) {
factorInBiEdgePotential = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("noNeighborConstraints")) {
noNeighborConstraints = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("includeC2EViterbi")) {
includeC2EViterbi = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("initWithPosterior")) {
initWithPosterior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("nerSlowerTimes")) {
nerSlowerTimes = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("nerSkipFirstK")) {
nerSkipFirstK = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("powerAlignProb")) {
powerAlignProb = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("powerAlignProbAsAddition")) {
powerAlignProbAsAddition = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("initWithNERPosterior")) {
initWithNERPosterior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("applyNERPenalty")) {
applyNERPenalty = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useGenericFeatures")) {
useGenericFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("printFactorTable")) {
printFactorTable = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useAdaGradFOBOS")) {
useAdaGradFOBOS = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("initRate")) {
initRate = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("groupByFeatureTemplate")) {
groupByFeatureTemplate = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("groupByOutputClass")) {
groupByOutputClass = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("priorAlpha")) {
priorAlpha = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("splitWordRegex")){
splitWordRegex = val;
} else if (key.equalsIgnoreCase("groupByInput")){
groupByInput = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("groupByHiddenUnit")){
groupByHiddenUnit = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("unigramLM")){
unigramLM = val;
} else if (key.equalsIgnoreCase("bigramLM")){
bigramLM = val;
} else if (key.equalsIgnoreCase("wordSegBeamSize")){
wordSegBeamSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("vocabFile")){
vocabFile = val;
} else if (key.equalsIgnoreCase("normalizedFile")){
normalizedFile = val;
} else if (key.equalsIgnoreCase("averagePerceptron")){
averagePerceptron = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("loadCRFSegmenterPath")){
loadCRFSegmenterPath = val;
} else if (key.equalsIgnoreCase("loadPCTSegmenterPath")){
loadPCTSegmenterPath = val;
} else if (key.equalsIgnoreCase("crfSegmenterProp")){
crfSegmenterProp = val;
} else if (key.equalsIgnoreCase("pctSegmenterProp")){
pctSegmenterProp = val;
} else if (key.equalsIgnoreCase("dualDecompMaxItr")){
dualDecompMaxItr = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("dualDecompInitialStepSize")){
dualDecompInitialStepSize = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("dualDecompDebug")){
dualDecompDebug = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("intermediateSegmenterOut")){
intermediateSegmenterOut = val;
} else if (key.equalsIgnoreCase("intermediateSegmenterModel")){
intermediateSegmenterModel = val;
} else if (key.equalsIgnoreCase("useCWSWordFeatures")){
useCWSWordFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useCWSWordFeaturesAll")){
useCWSWordFeaturesAll = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useCWSWordFeaturesBigram")){
useCWSWordFeaturesBigram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("pctSegmenterLenAdjust")){
pctSegmenterLenAdjust = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useTrainLexicon")){
useTrainLexicon = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useCWSFeatures")){
useCWSFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("appendLC")){
appendLC = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("perceptronDebug")){
perceptronDebug = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("pctSegmenterScaleByCRF")){
pctSegmenterScaleByCRF = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("pctSegmenterScale")){
pctSegmenterScale = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("separateASCIIandRange")){
separateASCIIandRange = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("dropoutRate")){
dropoutRate = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("dropoutScale")){
dropoutScale = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("multiThreadGrad")){
multiThreadGrad = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("maxQNItr")){
maxQNItr = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("dropoutApprox")){
dropoutApprox = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("unsupDropoutFile")){
unsupDropoutFile = val;
} else if (key.equalsIgnoreCase("unsupDropoutScale")){
unsupDropoutScale = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("startEvaluateIters")){
startEvaluateIters = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("multiThreadPerceptron")){
multiThreadPerceptron = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("lazyUpdate")){
lazyUpdate = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("featureCountThresh")){
featureCountThresh = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("serializeWeightsTo")) {
serializeWeightsTo = val;
} else if (key.equalsIgnoreCase("geDebug")){
geDebug = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("doFeatureDiscovery")){
doFeatureDiscovery = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("loadWeightsFrom")) {
loadWeightsFrom = val;
} else if (key.equalsIgnoreCase("loadClassIndexFrom")) {
loadClassIndexFrom = val;
} else if (key.equalsIgnoreCase("serializeClassIndexTo")) {
serializeClassIndexTo = val;
} else if (key.equalsIgnoreCase("learnCHBasedOnEN")){
learnCHBasedOnEN = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("learnENBasedOnCH")){
learnENBasedOnCH = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("loadWeightsFromEN")){
loadWeightsFromEN = val;
} else if (key.equalsIgnoreCase("loadWeightsFromCH")){
loadWeightsFromCH = val;
} else if (key.equalsIgnoreCase("serializeToEN")){
serializeToEN = val;
} else if (key.equalsIgnoreCase("serializeToCH")){
serializeToCH = val;
} else if (key.equalsIgnoreCase("testFileEN")){
testFileEN = val;
} else if (key.equalsIgnoreCase("testFileCH")){
testFileCH = val;
} else if (key.equalsIgnoreCase("unsupFileEN")){
unsupFileEN = val;
} else if (key.equalsIgnoreCase("unsupFileCH")){
unsupFileCH = val;
} else if (key.equalsIgnoreCase("unsupAlignFile")){
unsupAlignFile = val;
} else if (key.equalsIgnoreCase("supFileEN")){
supFileEN = val;
} else if (key.equalsIgnoreCase("supFileCH")){
supFileCH = val;
} else if (key.equalsIgnoreCase("serializeFeatureIndexTo")){
serializeFeatureIndexTo = val;
} else if (key.equalsIgnoreCase("loadFeatureIndexFromEN")){
loadFeatureIndexFromEN = val;
} else if (key.equalsIgnoreCase("loadFeatureIndexFromCH")){
loadFeatureIndexFromCH = val;
} else if (key.equalsIgnoreCase("lambdaEN")){
lambdaEN = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("lambdaCH")){
lambdaCH = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("alternateTraining")){
alternateTraining = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("weightByEntropy")){
weightByEntropy = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useKL")){
useKL = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useHardGE")){
useHardGE = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useCRFforUnsup")){
useCRFforUnsup = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useGEforSup")){
useGEforSup = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useKnownLCWords")){
useKnownLCWords = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useNoisyLabel")){
useNoisyLabel = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("errorMatrix")) {
errorMatrix = val;
} else if (key.equalsIgnoreCase("printTrainLabels")){
printTrainLabels = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("labelDictionaryCutoff")) {
labelDictionaryCutoff = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useAdaDelta")){
useAdaDelta = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useAdaDiff")){
useAdaDiff = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("adaGradEps")){
adaGradEps = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("adaDeltaRho")){
adaDeltaRho = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("useRandomSeed")){
useRandomSeed = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("terminateOnAvgImprovement")){
terminateOnAvgImprovement = Boolean.parseBoolean(val);
// ADD VALUE ABOVE HERE
After Change
useFeaturesCpC4gram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useFeaturesCpC5gram")) {
useFeaturesCpC5gram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useFeaturesCpC6gram")) {
useFeaturesCpC6gram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useUnicodeType")) {
useUnicodeType = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useUnicodeBlock")) {
useUnicodeBlock = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useUnicodeType4gram")) {
useUnicodeType4gram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useUnicodeType5gram")) {
useUnicodeType5gram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useShapeStrings1")) {
useShapeStrings1 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useShapeStrings3")) {
useShapeStrings3 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useShapeStrings4")) {
useShapeStrings4 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useShapeStrings5")) {
useShapeStrings5 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useWordUTypeConjunctions2")) {
useWordUTypeConjunctions2 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useWordUTypeConjunctions3")) {
useWordUTypeConjunctions3 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useWordShapeConjunctions2")) {
useWordShapeConjunctions2 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useWordShapeConjunctions3")) {
useWordShapeConjunctions3 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useMidDotShape")) {
useMidDotShape = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("augmentedDateChars")) {
augmentedDateChars = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("suppressMidDotPostprocessing")) {
suppressMidDotPostprocessing = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("printNR")) {
printNR = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("use4Clique")) {
use4Clique = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useFilter")) {
useFilter = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("largeChSegFile")) {
largeChSegFile = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("keepEnglishWhitespaces")) {
keepEnglishWhitespaces = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("keepAllWhitespaces")) {
keepAllWhitespaces = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("sighanPostProcessing")) {
sighanPostProcessing = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useChPos")) {
useChPos = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("sighanCorporaDict")) {
sighanCorporaDict = val;
// end chinese word-segmenter features
} else if (key.equalsIgnoreCase("useObservedSequencesOnly")) {
useObservedSequencesOnly = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("maxDocSize")) {
maxDocSize = Integer.parseInt(val);
splitDocuments = true;
} else if (key.equalsIgnoreCase("printProbs")) {
printProbs = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("printFirstOrderProbs")) {
printFirstOrderProbs = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("saveFeatureIndexToDisk")) {
saveFeatureIndexToDisk = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("removeBackgroundSingletonFeatures")) {
removeBackgroundSingletonFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("doGibbs")) {
doGibbs = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useNERPrior")) {
useNERPrior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useAcqPrior")) {
useAcqPrior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useSemPrior")) {
useSemPrior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useMUCFeatures")) {
useMUCFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("initViterbi")) {
initViterbi = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("checkNameList")) {
checkNameList = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useFirstWord")) {
useFirstWord = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useUnknown")) {
useUnknown = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("cacheNGrams")) {
cacheNGrams = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useNumberFeature")) {
useNumberFeature = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("annealingRate")) {
annealingRate = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("annealingType")) {
if (val.equalsIgnoreCase("linear") || val.equalsIgnoreCase("exp") || val.equalsIgnoreCase("exponential")) {
annealingType = val;
} else {
System.err.println("unknown annealingType: " + val + ". Please use linear|exp|exponential");
}
} else if (key.equalsIgnoreCase("numSamples")) {
numSamples = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("inferenceType")) {
inferenceType = val;
} else if (key.equalsIgnoreCase("loadProcessedData")) {
loadProcessedData = val;
} else if (key.equalsIgnoreCase("normalizationTable")) {
normalizationTable = val;
} else if (key.equalsIgnoreCase("dictionary")) {
// don't set if empty string or spaces or true: revert it to null
// special case so can empty out dictionary list on command line!
val = val.trim();
if (val.length() > 0 && !"true".equals(val) && !"null".equals(val) && !"false".equals("val")) {
dictionary = val;
} else {
dictionary = null;
}
} else if (key.equalsIgnoreCase("serDictionary")) {
// don't set if empty string or spaces or true: revert it to null
// special case so can empty out dictionary list on command line!
val = val.trim();
if (val.length() > 0 && !"true".equals(val) && !"null".equals(val) && !"false".equals("val")) {
serializedDictionary = val;
} else {
serializedDictionary = null;
}
} else if (key.equalsIgnoreCase("dictionary2")) {
// don't set if empty string or spaces or true: revert it to null
// special case so can empty out dictionary list on command line!
val = val.trim();
if (val.length() > 0 && !"true".equals(val) && !"null".equals(val) && !"false".equals("val")) {
dictionary2 = val;
} else {
dictionary2 = null;
}
} else if (key.equalsIgnoreCase("normTableEncoding")) {
normTableEncoding = val;
} else if (key.equalsIgnoreCase("useLemmaAsWord")) {
useLemmaAsWord = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("type")) {
type = val;
} else if (key.equalsIgnoreCase("readerAndWriter")) {
readerAndWriter = val;
} else if (key.equalsIgnoreCase("plainTextDocumentReaderAndWriter")) {
plainTextDocumentReaderAndWriter = val;
} else if (key.equalsIgnoreCase("gazFilesFile")) {
gazFilesFile = val;
} else if (key.equalsIgnoreCase("baseTrainDir")) {
baseTrainDir = val;
} else if (key.equalsIgnoreCase("baseTestDir")) {
baseTestDir = val;
} else if (key.equalsIgnoreCase("trainFiles")) {
trainFiles = val;
} else if (key.equalsIgnoreCase("trainFileList")) {
trainFileList = val;
} else if (key.equalsIgnoreCase("trainDirs")) {
trainDirs = val;
} else if (key.equalsIgnoreCase("testDirs")) {
testDirs = val;
} else if (key.equalsIgnoreCase("testFiles")) {
testFiles = val;
} else if (key.equalsIgnoreCase("textFiles")) {
textFiles = val;
} else if (key.equalsIgnoreCase("usePrediction2")) {
usePrediction2 = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useObservedFeaturesOnly")) {
useObservedFeaturesOnly = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("iobWrapper")) {
iobWrapper = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useDistSim")) {
useDistSim = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("casedDistSim")) {
casedDistSim = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("distSimFileFormat")) {
distSimFileFormat = val;
} else if (key.equalsIgnoreCase("distSimMaxBits")) {
distSimMaxBits = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("numberEquivalenceDistSim")) {
numberEquivalenceDistSim = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("unknownWordDistSimClass")) {
unknownWordDistSimClass = val;
} else if (key.equalsIgnoreCase("useOnlySeenWeights")) {
useOnlySeenWeights = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("predProp")) {
predProp = val;
} else if (key.equalsIgnoreCase("distSimLexicon")) {
distSimLexicon = val;
} else if (key.equalsIgnoreCase("useSegmentation")) {
useSegmentation = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useInternal")) {
useInternal = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useExternal")) {
useExternal = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useEitherSideWord")) {
useEitherSideWord = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useEitherSideDisjunctive")) {
useEitherSideDisjunctive = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("featureDiffThresh")) {
featureDiffThresh = Double.parseDouble(val);
if (props.getProperty("numTimesPruneFeatures") == null) {
numTimesPruneFeatures = 1;
}
} else if (key.equalsIgnoreCase("numTimesPruneFeatures")) {
numTimesPruneFeatures = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("newgeneThreshold")) {
newgeneThreshold = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("adaptFile")) {
adaptFile = val;
} else if (key.equalsIgnoreCase("doAdaptation")) {
doAdaptation = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("selfTrainFile")) {
selfTrainFile = val;
} else if (key.equalsIgnoreCase("selfTrainIterations")) {
selfTrainIterations = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("selfTrainWindowSize")) {
selfTrainWindowSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("selfTrainConfidenceThreshold")) {
selfTrainConfidenceThreshold = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("numFolds")) {
numFolds = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("startFold")) {
startFold = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("endFold")) {
endFold = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("adaptSigma")) {
adaptSigma = Double.parseDouble(val);
} else if (key.startsWith("prop") && !key.equals("prop")) {
comboProps.add(val);
} else if (key.equalsIgnoreCase("outputFormat")) {
outputFormat = val;
} else if (key.equalsIgnoreCase("useSMD")) {
useSMD = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useScaledSGD")) {
useScaledSGD = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("scaledSGDMethod")) {
scaledSGDMethod = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("tuneSGD")) {
tuneSGD = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("StochasticCalculateMethod")) {
if (val.equalsIgnoreCase("AlgorithmicDifferentiation")) {
stochasticMethod = StochasticCalculateMethods.AlgorithmicDifferentiation;
} else if (val.equalsIgnoreCase("IncorporatedFiniteDifference")) {
stochasticMethod = StochasticCalculateMethods.IncorporatedFiniteDifference;
} else if (val.equalsIgnoreCase("ExternalFinitedifference")) {
stochasticMethod = StochasticCalculateMethods.ExternalFiniteDifference;
}
} else if (key.equalsIgnoreCase("initialGain")) {
initialGain = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("stochasticBatchSize")) {
stochasticBatchSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("SGD2QNhessSamples")) {
SGD2QNhessSamples = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useSGD")) {
useSGD = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useInPlaceSGD")) {
useInPlaceSGD = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useSGDtoQN")) {
useSGDtoQN = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("SGDPasses")) {
SGDPasses = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("QNPasses")) {
QNPasses = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("gainSGD")) {
gainSGD = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("useHybrid")) {
useHybrid = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("hybridCutoffIteration")) {
hybridCutoffIteration = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useStochasticQN")) {
useStochasticQN = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("outputIterationsToFile")) {
outputIterationsToFile = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("testObjFunction")) {
testObjFunction = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("testVariance")) {
testVariance = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("CRForder")) {
CRForder = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("CRFwindow")) {
CRFwindow = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("testHessSamples")) {
testHessSamples = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("estimateInitial")) {
estimateInitial = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("printLabelValue")) {
printLabelValue = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("searchGraphPrefix")) {
searchGraphPrefix = val;
} else if (key.equalsIgnoreCase("searchGraphPrune")) {
searchGraphPrune = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("kBest")) {
useKBest = true;
kBest = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useRobustQN")) {
useRobustQN = true;
} else if (key.equalsIgnoreCase("combo")) {
combo = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("verboseForTrueCasing")) {
verboseForTrueCasing = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("trainHierarchical")) {
trainHierarchical = val;
} else if (key.equalsIgnoreCase("domain")) {
domain = val;
} else if (key.equalsIgnoreCase("baseline")) {
baseline = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("doFE")) {
doFE = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("restrictLabels")) {
restrictLabels = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("transferSigmas")) {
transferSigmas = val;
} else if (key.equalsIgnoreCase("announceObjectBankEntries")) {
announceObjectBankEntries = true;
} else if (key.equalsIgnoreCase("mixedCaseMapFile")) {
mixedCaseMapFile = val;
} else if (key.equalsIgnoreCase("auxTrueCaseModels")) {
auxTrueCaseModels = val;
} else if (key.equalsIgnoreCase("use2W")) {
use2W = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useLC")) {
useLC = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useYetMoreCpCShapes")) {
useYetMoreCpCShapes = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useIfInteger")) {
useIfInteger = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("twoStage")) {
twoStage = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("evaluateIters")) {
evaluateIters = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("evalCmd")) {
evalCmd = val;
} else if (key.equalsIgnoreCase("evaluateTrain")) {
evaluateTrain = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("evaluateBackground")) {
evaluateBackground = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("tuneSampleSize")) {
tuneSampleSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useTopics")) {
useTopics = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("usePhraseFeatures")) {
usePhraseFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("usePhraseWords")) {
usePhraseWords = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("usePhraseWordTags")) {
usePhraseWordTags = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("usePhraseWordSpecialTags")) {
usePhraseWordSpecialTags = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useProtoFeatures")) {
useProtoFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useWordnetFeatures")) {
useWordnetFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("wikiFeatureDbFile")) {
wikiFeatureDbFile = val;
} else if (key.equalsIgnoreCase("tokenizerOptions")) {
tokenizerOptions = val;
} else if (key.equalsIgnoreCase("tokenizerFactory")) {
tokenizerFactory = val;
} else if (key.equalsIgnoreCase("useCommonWordsFeature")) {
useCommonWordsFeature = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useYear")) {
useYear = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useSentenceNumber")) {
useSentenceNumber = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useLabelSource")) {
useLabelSource = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("tokenFactory")) {
tokenFactory = val;
} else if (key.equalsIgnoreCase("tokensAnnotationClassName")) {
tokensAnnotationClassName = val;
} else if (key.equalsIgnoreCase("numLopExpert")) {
numLopExpert = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("initialLopScales")) {
initialLopScales = val;
} else if (key.equalsIgnoreCase("initialLopWeights")) {
initialLopWeights = val;
} else if (key.equalsIgnoreCase("includeFullCRFInLOP")) {
includeFullCRFInLOP = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("backpropLopTraining")) {
backpropLopTraining = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("randomLopWeights")) {
randomLopWeights = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("randomLopFeatureSplit")) {
randomLopFeatureSplit = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("nonLinearCRF")) {
nonLinearCRF = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("secondOrderNonLinear")) {
secondOrderNonLinear = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("numHiddenUnits")) {
numHiddenUnits = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useOutputLayer")) {
useOutputLayer = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useHiddenLayer")) {
useHiddenLayer = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("gradientDebug")) {
gradientDebug = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("checkGradient")) {
checkGradient = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useSigmoid")) {
useSigmoid = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("skipOutputRegularization")) {
skipOutputRegularization = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("sparseOutputLayer")) {
sparseOutputLayer = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("tieOutputLayer")) {
tieOutputLayer = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("blockInitialize")) {
blockInitialize = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("softmaxOutputLayer")) {
softmaxOutputLayer = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("loadBisequenceClassifierEn")) {
loadBisequenceClassifierEn = val;
} else if (key.equalsIgnoreCase("bisequenceClassifierPropEn")) {
bisequenceClassifierPropEn = val;
} else if (key.equalsIgnoreCase("loadBisequenceClassifierCh")) {
loadBisequenceClassifierCh = val;
} else if (key.equalsIgnoreCase("bisequenceClassifierPropCh")) {
bisequenceClassifierPropCh = val;
} else if (key.equalsIgnoreCase("bisequenceTestFileEn")) {
bisequenceTestFileEn = val;
} else if (key.equalsIgnoreCase("bisequenceTestFileCh")) {
bisequenceTestFileCh = val;
} else if (key.equalsIgnoreCase("bisequenceTestOutputEn")) {
bisequenceTestOutputEn = val;
} else if (key.equalsIgnoreCase("bisequenceTestOutputCh")) {
bisequenceTestOutputCh = val;
} else if (key.equalsIgnoreCase("bisequenceTestAlignmentFile")) {
bisequenceTestAlignmentFile = val;
} else if (key.equalsIgnoreCase("bisequenceAlignmentTestOutput")) {
bisequenceAlignmentTestOutput = val;
} else if (key.equalsIgnoreCase("bisequencePriorType")) {
bisequencePriorType = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("bisequenceAlignmentPriorPenaltyCh")) {
bisequenceAlignmentPriorPenaltyCh = val;
} else if (key.equalsIgnoreCase("bisequenceAlignmentPriorPenaltyEn")) {
bisequenceAlignmentPriorPenaltyEn = val;
} else if (key.equalsIgnoreCase("alignmentPruneThreshold")) {
alignmentPruneThreshold = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("alignmentDecodeThreshold")) {
alignmentDecodeThreshold = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("factorInAlignmentProb")) {
factorInAlignmentProb = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useChromaticSampling")) {
useChromaticSampling = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useSequentialScanSampling")) {
useSequentialScanSampling = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("maxAllowedChromaticSize")) {
maxAllowedChromaticSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("keepEmptySentences")) {
keepEmptySentences = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useBilingualNERPrior")) {
useBilingualNERPrior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("samplingSpeedUpThreshold")) {
samplingSpeedUpThreshold = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("entityMatrixCh")) {
entityMatrixCh = val;
} else if (key.equalsIgnoreCase("entityMatrixEn")) {
entityMatrixEn = val;
} else if (key.equalsIgnoreCase("multiThreadGibbs")) {
multiThreadGibbs = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("matchNERIncentive")) {
matchNERIncentive = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useEmbedding")) {
useEmbedding = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("prependEmbedding")) {
prependEmbedding = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("embeddingWords")) {
embeddingWords = val;
} else if (key.equalsIgnoreCase("embeddingVectors")) {
embeddingVectors = val;
} else if (key.equalsIgnoreCase("transitionEdgeOnly")) {
transitionEdgeOnly = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("priorLambda")) {
priorLambda = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("addCapitalFeatures")) {
addCapitalFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("arbitraryInputLayerSize")) {
arbitraryInputLayerSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("noEdgeFeature")) {
noEdgeFeature = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("terminateOnEvalImprovement")) {
terminateOnEvalImprovement = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("terminateOnEvalImprovementNumOfEpoch")) {
terminateOnEvalImprovementNumOfEpoch = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useMemoryEvaluator")) {
useMemoryEvaluator = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("suppressTestDebug")) {
suppressTestDebug = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useOWLQN")) {
useOWLQN = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("printWeights")) {
printWeights = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("totalDataSlice")) {
totalDataSlice = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("numOfSlices")) {
numOfSlices = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("regularizeSoftmaxTieParam")) {
regularizeSoftmaxTieParam = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("softmaxTieLambda")) {
softmaxTieLambda = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("totalFeatureSlice")) {
totalFeatureSlice = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("numOfFeatureSlices")) {
numOfFeatureSlices = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("addBiasToEmbedding")) {
addBiasToEmbedding = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("hardcodeSoftmaxOutputWeights")) {
hardcodeSoftmaxOutputWeights = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useNERPriorBIO")) {
useNERPriorBIO = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("entityMatrix")) {
entityMatrix = val;
} else if (key.equalsIgnoreCase("multiThreadClassifier")) {
multiThreadClassifier = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useDualDecomp")) {
useDualDecomp = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("biAlignmentPriorIsPMI")) {
biAlignmentPriorIsPMI = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("dampDDStepSizeWithAlignmentProb")) {
dampDDStepSizeWithAlignmentProb = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("dualDecompAlignment")) {
dualDecompAlignment = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("dualDecompInitialStepSizeAlignment")) {
dualDecompInitialStepSizeAlignment = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("dualDecompNotBIO")) {
dualDecompNotBIO = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("berkeleyAlignerLoadPath")) {
berkeleyAlignerLoadPath = val;
} else if (key.equalsIgnoreCase("useBerkeleyAlignerForViterbi")) {
useBerkeleyAlignerForViterbi = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useBerkeleyCompetitivePosterior")) {
useBerkeleyCompetitivePosterior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useDenero")) {
useDenero = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("alignDDAlpha")) {
alignDDAlpha = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("factorInBiEdgePotential")) {
factorInBiEdgePotential = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("noNeighborConstraints")) {
noNeighborConstraints = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("includeC2EViterbi")) {
includeC2EViterbi = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("initWithPosterior")) {
initWithPosterior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("nerSlowerTimes")) {
nerSlowerTimes = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("nerSkipFirstK")) {
nerSkipFirstK = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("powerAlignProb")) {
powerAlignProb = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("powerAlignProbAsAddition")) {
powerAlignProbAsAddition = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("initWithNERPosterior")) {
initWithNERPosterior = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("applyNERPenalty")) {
applyNERPenalty = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useGenericFeatures")) {
useGenericFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("printFactorTable")) {
printFactorTable = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useAdaGradFOBOS")) {
useAdaGradFOBOS = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("initRate")) {
initRate = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("groupByFeatureTemplate")) {
groupByFeatureTemplate = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("groupByOutputClass")) {
groupByOutputClass = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("priorAlpha")) {
priorAlpha = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("splitWordRegex")){
splitWordRegex = val;
} else if (key.equalsIgnoreCase("groupByInput")){
groupByInput = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("groupByHiddenUnit")){
groupByHiddenUnit = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("unigramLM")){
unigramLM = val;
} else if (key.equalsIgnoreCase("bigramLM")){
bigramLM = val;
} else if (key.equalsIgnoreCase("wordSegBeamSize")){
wordSegBeamSize = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("vocabFile")){
vocabFile = val;
} else if (key.equalsIgnoreCase("normalizedFile")){
normalizedFile = val;
} else if (key.equalsIgnoreCase("averagePerceptron")){
averagePerceptron = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("loadCRFSegmenterPath")){
loadCRFSegmenterPath = val;
} else if (key.equalsIgnoreCase("loadPCTSegmenterPath")){
loadPCTSegmenterPath = val;
} else if (key.equalsIgnoreCase("crfSegmenterProp")){
crfSegmenterProp = val;
} else if (key.equalsIgnoreCase("pctSegmenterProp")){
pctSegmenterProp = val;
} else if (key.equalsIgnoreCase("dualDecompMaxItr")){
dualDecompMaxItr = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("dualDecompInitialStepSize")){
dualDecompInitialStepSize = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("dualDecompDebug")){
dualDecompDebug = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("intermediateSegmenterOut")){
intermediateSegmenterOut = val;
} else if (key.equalsIgnoreCase("intermediateSegmenterModel")){
intermediateSegmenterModel = val;
} else if (key.equalsIgnoreCase("useCWSWordFeatures")){
useCWSWordFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useCWSWordFeaturesAll")){
useCWSWordFeaturesAll = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useCWSWordFeaturesBigram")){
useCWSWordFeaturesBigram = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("pctSegmenterLenAdjust")){
pctSegmenterLenAdjust = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useTrainLexicon")){
useTrainLexicon = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useCWSFeatures")){
useCWSFeatures = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("appendLC")){
appendLC = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("perceptronDebug")){
perceptronDebug = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("pctSegmenterScaleByCRF")){
pctSegmenterScaleByCRF = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("pctSegmenterScale")){
pctSegmenterScale = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("separateASCIIandRange")){
separateASCIIandRange = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("dropoutRate")){
dropoutRate = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("dropoutScale")){
dropoutScale = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("multiThreadGrad")){
multiThreadGrad = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("maxQNItr")){
maxQNItr = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("dropoutApprox")){
dropoutApprox = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("unsupDropoutFile")){
unsupDropoutFile = val;
} else if (key.equalsIgnoreCase("unsupDropoutScale")){
unsupDropoutScale = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("startEvaluateIters")){
startEvaluateIters = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("multiThreadPerceptron")){
multiThreadPerceptron = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("lazyUpdate")){
lazyUpdate = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("featureCountThresh")){
featureCountThresh = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("serializeWeightsTo")) {
serializeWeightsTo = val;
} else if (key.equalsIgnoreCase("geDebug")){
geDebug = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("doFeatureDiscovery")){
doFeatureDiscovery = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("loadWeightsFrom")) {
loadWeightsFrom = val;
} else if (key.equalsIgnoreCase("loadClassIndexFrom")) {
loadClassIndexFrom = val;
} else if (key.equalsIgnoreCase("serializeClassIndexTo")) {
serializeClassIndexTo = val;
} else if (key.equalsIgnoreCase("learnCHBasedOnEN")){
learnCHBasedOnEN = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("learnENBasedOnCH")){
learnENBasedOnCH = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("loadWeightsFromEN")){
loadWeightsFromEN = val;
} else if (key.equalsIgnoreCase("loadWeightsFromCH")){
loadWeightsFromCH = val;
} else if (key.equalsIgnoreCase("serializeToEN")){
serializeToEN = val;
} else if (key.equalsIgnoreCase("serializeToCH")){
serializeToCH = val;
} else if (key.equalsIgnoreCase("testFileEN")){
testFileEN = val;
} else if (key.equalsIgnoreCase("testFileCH")){
testFileCH = val;
} else if (key.equalsIgnoreCase("unsupFileEN")){
unsupFileEN = val;
} else if (key.equalsIgnoreCase("unsupFileCH")){
unsupFileCH = val;
} else if (key.equalsIgnoreCase("unsupAlignFile")){
unsupAlignFile = val;
} else if (key.equalsIgnoreCase("supFileEN")){
supFileEN = val;
} else if (key.equalsIgnoreCase("supFileCH")){
supFileCH = val;
} else if (key.equalsIgnoreCase("serializeFeatureIndexTo")){
serializeFeatureIndexTo = val;
} else if (key.equalsIgnoreCase("loadFeatureIndexFromEN")){
loadFeatureIndexFromEN = val;
} else if (key.equalsIgnoreCase("loadFeatureIndexFromCH")){
loadFeatureIndexFromCH = val;
} else if (key.equalsIgnoreCase("lambdaEN")){
lambdaEN = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("lambdaCH")){
lambdaCH = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("alternateTraining")){
alternateTraining = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("weightByEntropy")){
weightByEntropy = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useKL")){
useKL = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useHardGE")){
useHardGE = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useCRFforUnsup")){
useCRFforUnsup = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useGEforSup")){
useGEforSup = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useKnownLCWords")){
useKnownLCWords = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useNoisyLabel")){
useNoisyLabel = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("errorMatrix")) {
errorMatrix = val;
} else if (key.equalsIgnoreCase("printTrainLabels")){
printTrainLabels = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("labelDictionaryCutoff")) {
labelDictionaryCutoff = Integer.parseInt(val);
} else if (key.equalsIgnoreCase("useAdaDelta")){
useAdaDelta = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("useAdaDiff")){
useAdaDiff = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("adaGradEps")){
adaGradEps = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("adaDeltaRho")){
adaDeltaRho = Double.parseDouble(val);
} else if (key.equalsIgnoreCase("useRandomSeed")){
useRandomSeed = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("terminateOnAvgImprovement")){
terminateOnAvgImprovement = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("strictGoodCoNLL")) {
strictGoodCoNLL = Boolean.parseBoolean(val);
} else if (key.equalsIgnoreCase("removeStrictGoodCoNLLDuplicates")) {
removeStrictGoodCoNLLDuplicates = Boolean.parseBoolean(val);
// ADD VALUE ABOVE HERE
} else if (key.length() > 0 && !key.equals("prop")) {